#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
#include <stdlib.h>


//void deter(int a, int b, int t1,int t2)
//{
//	if ((a * t1) > (b * t2))
//	{
//		printf("@_@ %d\n", a * t1);
//	}
//	else if ((a * t1) < (b * t2))
//	{
//		printf("^_^ %d\n", b*t2);
//	}
//	else
//	{
//		printf("-_- %d\n", a * t1);
//	}
//}
//int main()
//{
//	int a = 3;
//	int b = 9;
//	int x, y, T;
//	while (scanf("%d", &T) == 1)
//	{
//		if (T > 10)
//		{
//			int k = T;
//			int j = 10;
//			int t = 10;
//			k -= 10;
//			while (k>0)
//			{
//				if ((b * t) > (a * j))
//				{
//					k -= 30;
//					j += 30;
//					if (j >= T)
//					{
//						deter(a, b, T, t);
//						break;
//					}
//				}
//				else
//				{
//					k -= 10;
//					if (T - 10 > j)
//					{
//						t += 10;
//					}
//					else
//					{
//						t += (T - j);
//					}
//					j += 10;
//					if (j >= T)
//					{
//						deter(a, b, T, t);
//						break;
//					}
//				}
//			}
//		}
//		else
//		{
//			deter(a, b, T, T);
//		}
//	}
//	return 0;
//}

#include <math.h>
//void dete1(int a)
//{
//	char c = 'a';
//	while (a)
//	{
//		a--;
//		c++;
//	}
//	printf("%c", c);
//}
//void dete2(int a)
//{
//	if (a == 2)
//	{
//		printf("S");
//	}
//	else if(a==3)
//	{
//		printf("B");
//	}
//	else if (a == 4)
//	{
//		printf("Q");
//	}
//	else if (a == 5)
//	{
//		printf("W");
//	}
//	if (a == 6)
//	{
//		printf("S");
//	}
//	else if (a == 7)
//	{
//		printf("B");
//	}
//	else if (a == 8)
//	{
//		printf("Q");
//	}
//	else if (a == 9)
//	{
//		printf("Y");
//	}
//}
//int main()
//{
//	int num, i, c;
//	while (scanf("%d", &num) == 1)
//	{
//		c = 0;
//		i = 0;
//		int j = num;
//		while (j)
//		{
//			j /= 10;
//			c++;
//			i++;
//		}
//		c = pow(10, c);
//		int h = 0;
//		for (c /= 10; c > 0; c /= 10)
//		{
//			if ((num / c) % 10 != 0)
//			{
//				dete1((num / c) % 10);
//				dete2(i);
//				i--;
//			}
//			else if (i == 5)
//			{
//				dete2(i);
//				i--;
//			}
//			else
//			{
//				if (i < 5)
//				{
//					int k = i;
//					int h = c;
//					while (k)
//					{
//						if ((num / h) % 10 == 0)
//						{
//							h / 10;
//							k--;
//							h /= 10;
//						}
//						else
//						{
//							break;
//						}
//					}
//					if (k <= 0)
//					{
//						break;
//					}
//					else
//					{
//						printf("a");
//					}
//				}
//				else
//				{
//					int k = i;
//					int h = c;
//					while (i)
//					{
//						if ((num / h) % 10 == 0)
//						{
//							h / 10;
//							k--;
//							if (k < 5)
//							{
//								break;
//							}
//						}
//						else
//						{
//							printf("a");
//						}
//					}
//				}
//			}
//		}
//	}
//	return 0;
//}

//int main()
//{
//	int a, b;
//	while (scanf("%d/%d", &a, &b) == 2)
//	{
//		int x = a;
//		int y = b;
//		while (y)
//		{
//			int c = x % y;
//			x = y;
//			y = c;
//		}
//		if (x != 0)
//		{
//			a /= x;
//			b /= x;
//		}
//		printf("%d/%d", a, b);
//	}
//}

//void convert(int a)
//{
//	if (a == 0)
//	{
//		printf("ling");
//	}
//	else if (a == 1)
//	{
//		printf("yi");
//	}
//	else if (a == 2)
//	{
//		printf("er");
//	}
//	else if (a == 3)
//	{
//		printf("san");
//	}
//	else if (a == 4)
//	{
//		printf("si");
//	}
//	else if (a == 5)
//	{
//		printf("wu");
//	}
//	else if (a == 6)
//	{
//		printf("liu");
//	}
//	else if (a == 7)
//	{
//		printf("qi");
//	}
//	else if (a == 8)
//	{
//		printf("ba");
//	}
//	else
//	{
//		printf("jiu");
//	}
//}
//void count(int a,int j)
//{
//	if (j != 0)
//	{
//		j--;
//	}
//	while (j>=0 )
//	{
//		int k = a / pow(10, j);
//		k %= 10;
//		convert(k);
//		j--; 
//		if (j >= 0)
//		{
//			printf(" ");
//		}
//	}
//}
//int main()
//{
//	int a;
//	while (scanf("%d", &a) == 1)
//	{
//		if (a < 0)
//		{
//			printf("fu ");
//			a *= -1;
//		}
//		int j = 0;
//		while ((int)(a / pow(10, j)))
//		{
//			j++;
//		}
//		count(a, j);
//	}
//}

//int main()
//{
//	char c = 0;
//	char arr[1000] = { 0 };
//	int a = 0;
//	while (c != '.')
//	{
//		scanf("%c", &c);
//		arr[a] = c;
//		a++;
//	}
//	int i = 0;
//	int k = 0;
//	int n = 0;
//	for (i = 0; i <= a; i++)
//	{
//		if (i == 0 && arr[0] == ' ')
//		{
//			while (arr[i] == ' ')
//			{
//				i++;
//			}
//		}
//		if (arr[i] != ' ' && arr[i] != '.')
//		{
//			n++;
//		}
//		else if (arr[i] == '.')
//		{
//			if (n == 0)
//			{
//				break;
//			}
//			else
//			{
//				printf("%d", n);
//			}
//		}
//		else if (arr[i] == ' ')
//		{
//			while (arr[i] == ' ')
//			{
//				i++;
//			}
//			if (arr[i] == '.')
//			{
//				if (n == 0)
//				{
//					return 0;
//				}
//				else
//				{
//					printf("%d", n);
//					return 0;
//				}
//			}
//			else
//			{
//				if (n != 0)
//				{
//					printf("%d ", n);
//					n = 1;
//				}
//			}
//		}
//	}
//	return 0;
//}

//int main()
//{
//	int arr[100] = { 0 };
//	int N, K;
//	scanf("%d %d", &N, &K);
//	int i;
//	for (i = 0; i < N; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	for (i = 0; i < K; i++)
//	{
//		int m = 0;
//		for (m = 0; m < N - 1 - i; m++)
//		{
//			if (arr[m] > arr[m + 1])
//			{
//				int k = arr[m];
//				arr[m] = arr[m + 1];
//				arr[m + 1] = k;
//			}
//		}
//	}
//	for (i = 0; i < N; i++)
//	{
//		if (i != N - 1)
//		{
//			printf("%d ", arr[i]);
//		}
//		else
//		{
//			printf("%d", arr[i]);
//		}
//	}
//	return 0;
//}

//int main()
//{
//	int arr[1001] = { 0 };
//	int N;
//	while (scanf("%d", &N) == 1)
//	{
//		if (N == 0)
//		{
//			return 0;
//		}
//		int i = 0;
//		for (i = 1; i <= N; i++)
//		{
//			arr[i] = 1;
//		}
//		int c = 0;
//		int a = 0;
//		for (a = 0; a < N; a++)
//		{
//			for (i = 1; i <= N; i++)
//			{
//				if (arr[i] == 1)
//				{
//					c++;
//				}
//				if (c == 3)
//				{
//					c = 0;
//					arr[i] = 0;
//				}
//			}
//			int num = 0;
//			for (i = 1; i <= N; i++)
//			{
//				num += arr[i];
//			}
//			if (num == 1)
//			{
//				break;
//			}
//		}
//		for (i = 0; i <= N; i++)
//		{
//			if (arr[i] == 1)
//			{
//				printf("%d\n", i);
//			}
//		}
//	}
//	return 0;
//}

//int main()
//{
//	char arr1[100] = { 0 };
//	char arr2[100] = { 0 };
//	scanf("%s", arr1);
//	scanf("%s", arr2);
//	int b = strlen(arr2);
//	char* ptr ;
//	char arr3[100] = { 0 };
//	while ((ptr = strstr(arr1, arr2)) != NULL)
//	{
//		strcpy(arr3, ptr + b);
//		*ptr = '\0';
//		strcat(arr1, arr3);
//	}
//	printf("%s\n",arr1 );
//	return 0;
//}

void str(char* arr, int left, int right)
{
	while (left < right)
	{
		char k = *(arr + left);
		*(arr + left) = *(arr + right);
		*(arr + right) = k;
		left++; 
		right--;
	}
}
int main()
{
	char arr1[100] = { 0 };
	int N;
	int i = 0;
    gets_s(arr1, 100);
	scanf("%d", &N);
	N %= strlen(arr1);
	str(arr1, 0, N-1);
	str(arr1, N, strlen(arr1)-1);
	str(arr1, 0, strlen(arr1)-1);
	printf("%s\n", arr1);
	return 0;
}